草庐IT

C++调用Python API

全部标签

windows - 从 dos 终端调用 R help(...) 命令

我想从dos终端调用R-help。我的尝试包括:R.exe-e"help(matrix)"Rscript.exe-e"help(matrix)"等等结果都一样,explorer打开但是没有找到文件。dos终端没有显示错误,只有:>help('matrix')startinghttpdhelpserver...done但是,对于Rgui,help(matrix)命令工作正常,这让我相信httpd帮助服务器出现故障。有什么想法吗? 最佳答案 问题是运行httpd服务器的R进程在它有机会提供内容之前就终止了。您需要找到一种方法让R进程保持

windows - CreateDialogParam 从不调用 WM_INITDIALOG

我在.rc文件中定义了一个对话框:IDD_DIALOG_AUTHENTICATIONDIALOGEX0,0,214,138STYLEDS_SETFONT|DS_MODALFRAME|DS_SETFOREGROUND|DS_3DLOOK|DS_FIXEDSYS|WS_POPUP|WS_VISIBLE|WS_CAPTIONCAPTION"Dialog"FONT8,"MSShellDlg",400,0,0x1BEGINDEFPUSHBUTTON"Validate",ID_BTN_VALIDATE,102,117,50,14PUSHBUTTON"Exit",ID_BTN_EXIT,157,11

windows - 从应用程序调用命令行实用程序会产生安全问题吗?

我想知道当应用程序被设计为调用打开PDF文件并在文本文件或图像中产生一些信息的命令行实用程序时是否存在危险的安全性/安全问题。 最佳答案 想到操作系统命令注入(inject)。如果用户能够控制部分命令行(例如“AcroRd32.exefile.pdf”),如果攻击者可以控制文件名,那么就必须添加强白名单验证,这样“AcroRd32.exe”就可以了。exefile.pdf&&formatC:&&rem.pdf"例如不能注入(inject) 关于windows-从应用程序调用命令行实用程序

windows - ntdll_77bc0000 或 ntdll_772d0000 在 Wow64 调用堆栈中意味着什么

我有WOW64崩溃转储,其中包含调用堆栈信息,例如:0018fb0077c06a8b0018fbc80018ffc40018fc18ntdll_77bc0000!ExecuteHandler2+0x26或喜欢:0018fb0077c06a8b0018fbc80018ffc40018fc18ntdll_772d0000!ExecuteHandler2+0x26ntdll_772d0000好像是一个dll的名字,但是我在C:\Windows\SysWOW64中没有看到,我也很好奇为什么在同一台机器上会有不同的名字,比如ntdll_77bc0000和ntdll_772d0000。谢谢。

windows - 假设 GetDC(hWnd) 作为 WM_CREATE 上的第一条指令被调用,对于窗口 hWnd,GetDC() 是否有可能返回 NULL?

假设GetDC(hWnd)作为WM_CREATE上的第一条指令被调用,对于窗口hWnd,GetDC()是否可能返回NULL?我担心GetDC()可能因资源不足而失败。当发生这种情况时,我应该检查错误吗?调用失败怎么办?Win32API函数会引发异常还是我应该引发异常? 最佳答案 GetDC()确实会失败,无论您何时何地调用它。在处理API时,您应该采取相当悲观的观点,并为任何API函数失败做好准备。正如您所建议的,失败的一个可能原因是系统资源耗尽,例如内核句柄、GDI对象等。所以你应该经常检查错误。不仅是GetDC(),对API函数

c++ - 在 Visual Studio 2010 中的 "break all"之后,一些线程的调用堆栈在我的 C++ 程序中几乎缺失

我的跨平台C++应用程序(使用Juce)的最新版本在Windows中可能存在死锁或可以想象的无限循环,但在Mac中没有,不幸的是我们目前没有Windows开发人员,所以这取决于我.我可以在VisualStudio2010下运行该程序但出现问题,然后当我遇到“active丢失”时:-D我使用了“全部中断”命令,这似乎暂停了我的所有线程。很好,而且大多数堆栈都非常合理。不幸的是,有几个线程(包括我怀疑处于死锁状态的两个线程)没有可用的调用堆栈。我非常清楚我的堆栈的“顶部”不会在那里,因为我没有调试信息,例如ntdll.dll。但我似乎只是从堆栈的中间得到了一点点。我包括了一个不好的堆栈和一

windows - 在用户提示 "close manually"之前卸载时 WiX 调用应用程序

我有一个安装程序,它安装一个应用程序并在安装完成后立即启动这个应用程序。这对我来说很合适。但现在我想在卸载应用程序时停止该应用程序,我不希望提示用户手动关闭应用程序。这将全自动工作。我需要使用自定义操作来执行此操作,WM_CLOSE消息在我的方法中不起作用(真的,我试过几次)。我认为这不会那么困难,但我没有让它发挥作用。到目前为止我做了什么:我定义了一个CustomAction:并称它为:......但这行不通。我想我错误地安排了我的自定义操作,但我无法确定执行此操作的正确时间。对于安排自定义操作的时间/地点有什么建议吗?我很不确定Before="InstallValidate"是正确

windows - 调用堆栈问题

我最近一直在研究调用堆栈。然而,我一直在阅读的所有示例和文章都是单线程的。我对调用堆栈在内存中的样子以及我们如何分析它很感兴趣。很抱歉在一个帖子中包含了这么多问题。但是,当每个问题都相关时,为每个问题创建一个帖子似乎很麻烦。我的问题是针对Windowsx86的。所以我遇到困难的问题是:进程中的每个线程是否总是有一个调用堆栈?即线程不共享调用栈?每个调用栈的大小是固定的吗?还是每个线程都可以不同?让我们假装自己做所有事情并用汇编编写我们的程序。调用栈是不是神奇的给了我们?还是必须自己实现?如果我们用汇编编写程序,我们是否会预留一些内存并将调用堆栈内存起始地址设置为ESP以进行设置?-迈克

c++ - 如何保证当一个进程调用malloc()时,它会立即分配物理内存?

我正在寻找一种方法来为进程预分配内存(物理内存),以便在我调用new/malloc时绝对保证它对C++堆可用。我需要此内存可供我的进程使用,而不管其他进程正在尝试使用系统内存做什么。换句话说,我想将物理内存保留到C++堆中,以便在我调用malloc()时立即可用。以下是详细信息:我正在开发一个实时系统。该系统由几个内存消耗大的进程组成。进程A是关键任务进程,它必须存活下来并且不受任何其他进程的不良行为的影响。它通常适合0.5GB的内存,但有时需要多达2.5GB的内存。其他进程尝试使用任意数量的内存。我担心的是其他进程可能会分配大量内存,耗尽系统中的物理内存储备。然后,当进程A需要更多内

c++ - WM_PAINT 什么时候被调用?

WM_PAINT究竟是什么时候被调用的?我试图创建一个基于对话框的老虎机应用程序,但我遇到了几个逻辑问题。我的申请将包括:“旋转”按钮退出按钮三个BMP图像显示旋转结果(硬币/心/士兵)如何使用BMP图像显示旋转的最终结果?我使用WM_PAINT尝试显示图像是否正确,每次用户按下旋转按钮以显示新图像时我将如何刷新屏幕?非常感谢您的帮助! 最佳答案 对话框通常使用DefDlgProc作为窗口过程。您不能在DialogProc中处理WM_PAINT(它不是窗口过程)。Youcanuseyourownwindowprocedurewith